package com.hznc.wcs.entity.bpm;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.entity.BaseModel;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

/**
* 流程定义信息 Entity 定义
* @author MyName
* @version 1.0
* @date 2024-06-20
* Copyright © MyCorp
*/

@TableName("mdl_bpm_process_definition_info")
@Getter @Setter @Accessors(chain = true)
public class BpmProcessDefinitionInfo extends BaseModel {
    private static final long serialVersionUID = 1421627034251905320L;
     /**
     * 流程模型ID
     */
     @NotNull(message = "流程模型ID不能为空")
     @Length(max=100, message="流程模型ID长度应小于100")
     @BindQuery(comparison = Comparison.LIKE)
     @TableField()
     private String modelId;

     /**
     * 流程定义ID
     */
     @NotNull(message = "流程定义ID不能为空")
     @Length(max=100, message="流程定义ID长度应小于100")
     @BindQuery(comparison = Comparison.LIKE)
     @TableField()
     private String processDefinitionId;

     /**
     * 流程描述
     */
     @Length(max=255, message="流程描述长度应小于255")
     @BindQuery(comparison = Comparison.LIKE)
     @TableField()
     private String description;

     /**
     * 流程图标
     */
     @Length(max=100, message="流程图标长度应小于100")
     @BindQuery(comparison = Comparison.LIKE)
     @TableField()
     private String icon;

     /**
     * 表单ID
     */
     @NotNull(message = "表单ID不能为空")
     @Length(max=100, message="表单ID长度应小于100")
     @BindQuery(comparison = Comparison.LIKE)
     @TableField()
     private String formId;

     /**
      * 表单类型
      */
     @NotNull(message = "表单类型不能为空")
     @TableField()
     private String formType;

     /**
     * 表单配置
     */
     @NotNull(message = "表单配置不能为空")
     @TableField()
     private String formConf;

     /**
     * 表单项
     */
     @NotNull(message = "表单项不能为空")
     @TableField()
     private String formFields;

     /**
      * 表单项权限配置
      */
     @TableField()
     private String formFieldsConf;


}